package com.kingbook.common.file;

import java.io.File;
import java.io.InputStream;


public interface FileManager {
 
	
	/** 
	 * 将本地文件上传到目标目录下
	 * @param srcFile
	 * @param dstDir
	 * @return
	 * @throws FsException
	 */
	public boolean upload(String srcFile, String dstFile);
	 
	/** 
	 * 将本地文件流上传到目标目录下
	 * @param srcFile
	 * @param dstDir
	 * @return
	 * @throws FsException
	 */
	public boolean upload(InputStream in, String dstFile);
	
	/**
	 * 将目标文件下载到本地目录
	 * @param localDir
	 * @param dstFile
	 * @return
	 * @throws FsException
	 */
	public boolean download(String localFile, String dstFile);

	/**
	 * 将目标文件下载到本地输出流
	 * @param dstFile
	 * @return
	 * @throws FsException
	 */
	public InputStream download(String dstFile);
	
	/**
	 * 删除目录或文件
	 * @param name
	 * @return
	 * @throws FsException
	 */
	public boolean delete(String name);
	
	/**
	 * 新建目录，dirName为目录路径
	 * @param dirName
	 * @return
	 * @throws FsException
	 */
	public boolean mkdir(String dirName);
	
	/**
	 * 重命名目录或文件
	 * @param oldFile
	 * @param newFile
	 * @return
	 * @throws FsException
	 */
	public boolean rename(String oldFile, String newFile);
 
	/**
	 * 返回文件或目录是否存在
	 * @param file
	 * @return
	 * @throws FsException
	 */
	public boolean isExisted(File file);
	

}
